// Generated from /Users/shunyun/workspace/java/business-flow/Intellij-plugin/src/main/antlr/BpmParser.g4 by ANTLR 4.13.1
import org.antlr.v4.runtime.tree.ParseTreeVisitor;

/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by {@link BpmParser}.
 *
 * @param <T> The return type of the visit operation. Use {@link Void} for
 * operations with no return type.
 */
public interface BpmParserVisitor<T> extends ParseTreeVisitor<T> {
	/**
	 * Visit a parse tree produced by {@link BpmParser#model}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitModel(BpmParser.ModelContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#root}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRoot(BpmParser.RootContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#cell}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCell(BpmParser.CellContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#attrName}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAttrName(BpmParser.AttrNameContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#behaviorName}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBehaviorName(BpmParser.BehaviorNameContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#attribute}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAttribute(BpmParser.AttributeContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#content}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitContent(BpmParser.ContentContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#geometry}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGeometry(BpmParser.GeometryContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#point}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPoint(BpmParser.PointContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#pointArray}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPointArray(BpmParser.PointArrayContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#param}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParam(BpmParser.ParamContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#return}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitReturn(BpmParser.ReturnContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#callDef}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCallDef(BpmParser.CallDefContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#exceptionHandlerDef}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExceptionHandlerDef(BpmParser.ExceptionHandlerDefContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#paramArray}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParamArray(BpmParser.ParamArrayContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#returnArray}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitReturnArray(BpmParser.ReturnArrayContext ctx);
	/**
	 * Visit a parse tree produced by {@link BpmParser#behavior}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBehavior(BpmParser.BehaviorContext ctx);
}